package cn.com.victorysoft.wellinfo.domain;

import cn.com.victorysoft.ylgl.service.commons.json.DateToISODateTimeSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 生产日报数据
 */
public class DailyProductionData {
    private String dataId;

    private String wellId;

    @DateTimeFormat(
            pattern = "yyyy-MM-dd"
    )
    private Date prodDate;

    private String oilProdMethod;

    private BigDecimal prodTime;
    
    @DateTimeFormat(
            pattern = "yyyy-MM-dd"
    )
    private Date column5;

    private BigDecimal pumpDiameter;

    private BigDecimal oilNozzle;

    private BigDecimal strokeLength;

    private BigDecimal strokeFrequency;

    private BigDecimal tubingPres;

    private BigDecimal casingPres;

    private BigDecimal liqProdDaily;

    private BigDecimal oilProdDaily;

    private BigDecimal gasProdDaily;

    private BigDecimal waterProdDaily;

    private BigDecimal waterCut;

    private String remarks;

    public String getDataId() {
        return dataId;
    }

    public void setDataId(String dataId) {
        this.dataId = dataId == null ? null : dataId.trim();
    }

    public String getWellId() {
        return wellId;
    }

    public void setWellId(String wellId) {
        this.wellId = wellId == null ? null : wellId.trim();
    }

    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern="yyyy-MM-dd")
    public Date getProdDate() {
        return prodDate;
    }

    @JsonSerialize(using = DateToISODateTimeSerializer.class)
    public void setProdDate(Date prodDate) {
        this.prodDate = prodDate;
    }

    public String getOilProdMethod() {
        return oilProdMethod;
    }

    public void setOilProdMethod(String oilProdMethod) {
        this.oilProdMethod = oilProdMethod == null ? null : oilProdMethod.trim();
    }

    public BigDecimal getProdTime() {
        return prodTime;
    }

    public void setProdTime(BigDecimal prodTime) {
        this.prodTime = prodTime;
    }

    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern="yyyy-MM-dd")
    public Date getColumn5() {
        return column5;
    }

    @JsonSerialize(using = DateToISODateTimeSerializer.class)
    public void setColumn5(Date column5) {
        this.column5 = column5;
    }

    public BigDecimal getPumpDiameter() {
        return pumpDiameter;
    }

    public void setPumpDiameter(BigDecimal pumpDiameter) {
        this.pumpDiameter = pumpDiameter;
    }

    public BigDecimal getOilNozzle() {
        return oilNozzle;
    }

    public void setOilNozzle(BigDecimal oilNozzle) {
        this.oilNozzle = oilNozzle;
    }

    public BigDecimal getStrokeLength() {
        return strokeLength;
    }

    public void setStrokeLength(BigDecimal strokeLength) {
        this.strokeLength = strokeLength;
    }

    public BigDecimal getStrokeFrequency() {
        return strokeFrequency;
    }

    public void setStrokeFrequency(BigDecimal strokeFrequency) {
        this.strokeFrequency = strokeFrequency;
    }

    public BigDecimal getTubingPres() {
        return tubingPres;
    }

    public void setTubingPres(BigDecimal tubingPres) {
        this.tubingPres = tubingPres;
    }

    public BigDecimal getCasingPres() {
        return casingPres;
    }

    public void setCasingPres(BigDecimal casingPres) {
        this.casingPres = casingPres;
    }

    public BigDecimal getLiqProdDaily() {
        return liqProdDaily;
    }

    public void setLiqProdDaily(BigDecimal liqProdDaily) {
        this.liqProdDaily = liqProdDaily;
    }

    public BigDecimal getOilProdDaily() {
        return oilProdDaily;
    }

    public void setOilProdDaily(BigDecimal oilProdDaily) {
        this.oilProdDaily = oilProdDaily;
    }

    public BigDecimal getGasProdDaily() {
        return gasProdDaily;
    }

    public void setGasProdDaily(BigDecimal gasProdDaily) {
        this.gasProdDaily = gasProdDaily;
    }

    public BigDecimal getWaterProdDaily() {
        return waterProdDaily;
    }

    public void setWaterProdDaily(BigDecimal waterProdDaily) {
        this.waterProdDaily = waterProdDaily;
    }

    public BigDecimal getWaterCut() {
        return waterCut;
    }

    public void setWaterCut(BigDecimal waterCut) {
        this.waterCut = waterCut;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }
}